﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;


using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using uacars;

namespace CADLibraryClass
{
    public class IdSiguienteCAD
    {
        private string cadenaConexion;

        public IdSiguienteCAD()
        {
            cadenaConexion = Singleton.Instancia.Cadena;
        }


        public bool ActualizarIdSiguiente(string tabla)
        {
            bool estadoOperacion = false;

            try
            {
                DataSet bdvirtual = new DataSet();

                SqlDataAdapter da = new SqlDataAdapter("select * from idsiguiente", cadenaConexion);
                da.Fill(bdvirtual, "idsiguiente");

                DataTable dt = new DataTable();
                dt = bdvirtual.Tables["idsiguiente"];

               

                DataRow fila = dt.Select("tabla='" + tabla + "'")[0];

                fila["tabla"] = tabla;
                fila["idsiguiente"] = int.Parse(fila["idsiguiente"].ToString()) + 1; ;


                bdvirtual.Tables["idsiguiente"].LoadDataRow(fila.ItemArray, true);


                SqlCommandBuilder cb = new SqlCommandBuilder(da);

                da.Update(bdvirtual, "idsiguiente");

                dt.AcceptChanges();
            }

            catch (SqlException sqlex)
            {
                throw new Exception("Error insertando idsiguiente en uacarsBD: " + tabla + ". " + sqlex.Message, sqlex);
            }

            catch (Exception ex)
            {
                throw ex;
            }
            estadoOperacion = true;

            return (estadoOperacion);
        }




       

        public int BuscarIdSiguiente(string tabla)
        {
            DataSet dsIdSiguiente = new DataSet();

            SqlDataAdapter da = new SqlDataAdapter("select * from idsiguiente WHERE tabla = '" + tabla + "'", cadenaConexion);

            da.Fill(dsIdSiguiente, "idsiguiente");

            DataTable dtIdSiguiente = new DataTable();
            dtIdSiguiente = dsIdSiguiente.Tables["idsiguiente"];

            int id = int.Parse(dtIdSiguiente.Rows[0]["idsiguiente"].ToString());

            return (id);
        }



    }
}